/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ucab.desarrollo.viajesbook.mail;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 *
 * @author isak
 */
public class CorreoSesion {


    Session sesion;


    /**
     * Metodo que configura y carga el servidor de correo y envia el correo
     * @param correoDestino
     * @param mensaje
     * @throws SelaromNegocioException
     */
    public void enviarCorreoSimple(String correoDestino, String mensaje, String subject) throws ExcepcionDesconocidaException, ExcepcionMailException //throws SelaromNegocioException
    {
        Properties prop = new Properties();
        prop.setProperty("mail.smtp.host", "smtp.gmail.com");
        prop.setProperty("mail.smtp.starttls.enable", "true");
        prop.setProperty("mail.smtp.port","587");
        prop.setProperty("mail.smtp.user", "mcdsx10@gmail.com");
        prop.setProperty("mail.smtp.auth", "true");
        sesion = Session.getDefaultInstance(prop);
        sesion.setDebug(true);
        MimeMessage message = new MimeMessage(sesion);
        try
        {
            message.setFrom(new InternetAddress("mcdsx10@gmail.com"));
            message.setSubject(subject);
            message.setText(mensaje);
            message.addRecipients(Message.RecipientType.TO, correoDestino);
            Transport t = sesion.getTransport("smtp");// seteo el protocolo
            t.connect("mcdsx10@gmail.com", "isaaku"); //me conecto a gmail
            t.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); // envio el mensaje
            t.close();

        }
        catch (MessagingException ex)
        {
            throw  new ExcepcionMailException("Error interno al enviar Correo a: "+correoDestino);
        }
        catch(Exception e)
        {
            throw new ExcepcionDesconocidaException("Error Desconocido Plataforma de Correo");
        }
   

    }

}
